<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>作用域</title>
	</head>
	<body>
		<script type="text/javascript">
			//全局作用域
			var a = 8;//定义了一个全局作用域下的变量a
			function f(){ //全局作用域下的函数f
				console.log('yes');
			}
			//全局作用域的对象，叫做window
			console.dir(window);
			console.log(a); //全局作用域下的变量a相当于 window.a
			console.log(window.a);
			f(); //省略了window对象，相当于window.f();
			//相当于以下对象结构
			/*
			var window = {
				a:8,
				f:function(){

				}
			}
			*/

			//局部作用域 -- 一般是 函数作用域

			function func(){
				var c = 9;
				console.log('函数里面c的值：' + c);
			}
			func();
			console.log('c的值：' + c); //Uncaught ReferenceError: c is not defined(捕捉引用错误，c未定义)
			//函数里面的变量，拥有局部作用域， 函数外面，不能访问函数里面的变量。

			//函数里面，使用全局变量
			var d = 10;
			function func2(){
				console.log('在函数func2里面，输出全局变量d的值：' + d);
			}
			func2();

			//结论：
			//全局变量，可以在任何地方访问，包括函数内。
			//局部变量，只能在局部（比如函数内部）访问，不能被外部访问。
		</script>
	</body>
</html>